package com.sti.platform.service;

import java.util.List;
import java.util.Map;


public interface ActivitiService {
	
	/**
	 * 启动流程
	 * @return
	 */
	List<Map<String,Object>> createProcessInstance(String title,String context);
	
	/**
	 * 查询用户的待办任务
	 * @param userId
	 * @return  任务列表
	 */
	public List<Map<String,Object>> queryTask(String userId);
	
	/**
	 * 查询当前流程的当前审核环节
	 * @param lcslId
	 * @return
	 */
	public String queryCurrentTask(String lcslId);
	
	/**
	 * 查询用户的待办任务数量
	 * @param userId
	 * @return  任务数量
	 */
	public Long queryTaskCount(String userId);
	
	/**
	 * 查询用户历史任务
	 * @param userId
	 * @return
	 */
	public List<Map<String,Object>> queryhisTask(String userId);
	
	/**
	 * 批量完成任务
	 * @param taskId 任务ID
	 * @param users  为下一环节添加审核人（科技处添加专家），没有可以不传
	 * @param opinion 审核意见
	 * @param userId 用户
	 * @return
	 */
	String completeTask(String taskId,String users,String opinion,String userId);
	
	/**
	 * 为下一环节添加用户
	 * @param processinstanceId
	 * @param users
	 * @return
	 */
	String saveCandidateUser(String processinstanceId,String users);
	
	/**
	 * 退回
	 * @param taskId 任务Id
	 * @param destinationTaskId 目标任务节点Id
	 * @return
	 */
	public Map<String, Object> updateTaskRoll(String taskId,String destinationTaskId);

	
	/**
	 * 获取用户
	 * @return
	 */
	public List<Map<String, Object>> queryUser();
	
}	
